﻿using System;
using System.Collections.Generic;
using Yes.Application.Article.Dto;
using Yes.Core.Pager;
using Yes.Domain.Entity;

namespace Yes.Application.Article
{
    public interface IArticleService : IBaseService
    {
        ArticleEntity GetArticle(int id);

        ResultDto Add(ArticleAddDto dto, int userId);

        PageInfo<ArticleDto> GetPageInfo(ArticlePagerDto dto);

        ResultDto Remove(List<int> ids);

        ResultDto Delete(List<int> ids);

        ResultDto Recovery(List<int> ids);

        List<ArchiveDto> GetArchiveList();

        List<TagDto> GetTagList();

        void UpdateReadCount(ArticleEntity article, bool useCache = true);
    }
}
